package com.kingbook.common.sender;//package com.kingbook.cote.sender;

//@Component
//public class SMSManager {
//	private static Logger logger = LoggerFactory.getLogger(SMSManager.class);
//
//	@Value("${sms.account}")
//	String account;
//
//	@Value("${sms.password}")
//	String password;
//
//	@Value("${sms.veryCode}")
//	String veryCode;
//
//	@Value("${sms.url}")
//	String url;
//
//	private String call(String address,String params)throws IOException{
//		URL url = new URL(address);
//		URLConnection connection = url.openConnection();
//		connection.setDoOutput(true);
//		OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "utf-8");
//		out.write(params); //post的关键所在！
//		out.flush();
//		out.close();
//		String temp = "";
//		String result = "";
//		InputStream is = connection.getInputStream();
//		BufferedReader br = new BufferedReader(new InputStreamReader(is));
//		while (( temp = br.readLine()) != null)
//			result += temp;
//		logger.debug("SMSUtils call result : {}",result);
//		return result;
//	}
//
//	/**
//	 * 发送普通短信
//	 * @param mobile 手机号码, 多个号码以英文逗号隔开,最多支持100个号码
//	 * @param content 短信内容
//	 * @return
//	 * @throws Exception
//	 */
//	public boolean sendTextSms(String mobiles,String content) throws IOException{
//		String address = url + "/service/httpService/httpInterface.do?method=sendMsg";
//
//		StringBuilder params = new StringBuilder();
//		params.append("username=").append(account);
//		params.append("&password=").append(password);
//		params.append("&veryCode=").append(veryCode);
//		params.append("&mobile=").append(mobiles);
//		params.append("&content=").append(content);
//		params.append("&msgtype=").append("1");
//		params.append("&code=").append("utf-8");
//		return "0".equals( parseStatus(call(address, params.toString())));
//	}
//
//	/**
//	 * 定时发送普通短信
//	 * @param mobile 手机号码, 多个号码以英文逗号隔开,最多支持100个号码
//	 * @param sendTime 定时发送，格式 yyyyMMddhhmmss
//	 * @param content 短信内容
//	 * @return
//	 * @throws Exception
//	 */
//	public boolean sendTextSms(String mobiles,String sendTime,String content) throws IOException{
//		String address = url + "/service/httpService/httpInterface.do?method=sendMsg";
//
//		StringBuilder params = new StringBuilder();
//		params.append("username=").append(account);
//		params.append("&password=").append(password);
//		params.append("&veryCode=").append(veryCode);
//		params.append("&mobile=").append(mobiles);
//		params.append("&content=").append(content);
//		params.append("&msgtype=").append("1");
//		params.append("&code=").append("utf-8");
//		params.append("&sendtime=").append(sendTime);
//		return "0".equals( parseStatus(call(address, params.toString())));
//	}
//
//
//	/**
//	 * 发送模版短信
//	 *
//	 *   模版：@1@会员，动态验证码@2@(五分钟内有效)。请注意保密，勿将验证码告知他人。
//	 *   参数值:@1@=member,@2@=4293
//	 *   最终短信内容：【短信签名】member会员，动态验证码4293(五分钟内有效)。请注意保密，勿将验证码告知他人。
//	 *
//	 * @param mobile 手机号码
//	 * @param tempId 模版编号，对应客户端模版编号
//	 * @param content 各参数值，以英文逗号隔开，如：@1@=member,@2@=4293
//	 * @return
//	 * @throws Exception
//	 */
//	public boolean sendTemplateSms(String mobile,String tempId,String content) throws IOException{
//		String address = url + "/service/httpService/httpInterface.do?method=sendMsg";
//
//		StringBuilder params = new StringBuilder();
//		params.append("username=").append(account);
//		params.append("&password=").append(password);
//		params.append("&veryCode=").append(veryCode);
//		params.append("&mobile=").append(mobile);
//		params.append("&content=").append(content);
//		params.append("&msgtype=").append("2");
//		params.append("&tempid=").append(tempId);
//		params.append("&code=").append("utf-8");
//		return "0".equals( parseStatus(call(address, params.toString())));
//	}
//
//	/**
//	 * 定时发送模版短信
//	 *
//	 *   模版：@1@会员，动态验证码@2@(五分钟内有效)。请注意保密，勿将验证码告知他人。
//	 *   参数值:@1@=member,@2@=4293
//	 *   最终短信内容：【短信签名】member会员，动态验证码4293(五分钟内有效)。请注意保密，勿将验证码告知他人。
//	 *
//	 * @param mobile 手机号码
//	 * @param sendTime 定时发送，格式 yyyyMMddhhmmss
//	 * @param tempId 模版编号，对应客户端模版编号
//	 * @param content 各参数值，以英文逗号隔开，如：@1@=member,@2@=4293
//	 * @return
//	 * @throws Exception
//	 */
//	public boolean sendTemplateSms(String mobile,String sendTime,String tempId,String content) throws IOException{
//		String address = url + "/service/httpService/httpInterface.do?method=sendMsg";
//
//		StringBuilder params = new StringBuilder();
//		params.append("username=").append(account);
//		params.append("&password=").append(password);
//		params.append("&veryCode=").append(veryCode);
//		params.append("&mobile=").append(mobile);
//		params.append("&content=").append(content);
//		params.append("&msgtype=").append("2");
//		params.append("&tempid=").append(tempId);
//		params.append("&code=").append("utf-8");
//		params.append("&sendtime=").append(sendTime);
//		return "0".equals( parseStatus(call(address, params.toString())));
//	}
//
//	private String parseStatus(String result){
//		XMLUtils xml = new XMLUtils(IOUtils.toInputStream(result));
//		List<Object> l = xml.getElements("sms/mt/status");
//		if(l.size() > 0){
//			return ((Element)l.get(0)).getText();
//		}
//		return "";
//	}
//	/**
//	 * 获取短信状态报告
//	 * @return 返回数据格式：
//	 * <?xml version="1.0" encoding="UTF-8"?>
//		<sms>
//			<rpt>
//				<mobile>15951977097</mobile>
//				<msgid>7799292837969854465</msgid>
//				<status>MA:0006</status>
//				<time>2015-06-12 15:10:53</time>
//				<extno/>
//			</rpt>
//			<rpt>
//				<mobile>15951977097</mobile>
//				<msgid>7799388495481470979</msgid>
//				<status>MA:0006</status>
//				<time>2015-06-12 15:16:17</time>
//				<extno/>
//			</rpt>
//		</sms>
//	 * @throws Exception
//	 */
//	public String queryReport() throws IOException{
//		String address = url + "/service/httpService/httpInterface.do?method=queryReport";
//
//		StringBuilder params = new StringBuilder();
//		params.append("username=").append(account);
//		params.append("&password=").append(password);
//		params.append("&veryCode=").append(veryCode);
//		return call(address, params.toString());
//	}
//
//
//	public String queryMo() throws IOException{
//		String address = url + "/service/httpService/httpInterface.do?method=queryMo";
//
//		StringBuilder params = new StringBuilder();
//		params.append("username=").append(account);
//		params.append("&password=").append(password);
//		params.append("&veryCode=").append(veryCode);
//		return call(address, params.toString());
//	}
//
//
//	public static void main(String[] args) throws Exception{
//		String result = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
//				+ "<sms>"
//				+ "	<mt>"
//				+ "		<status>0</status>   "
//				+ "		<msgid>816f333305664fb9bdd8c1bc96ae12b8</msgid>  <!--消息id-->"
//				+ "	</mt>"
//				+ "</sms>";
//		//发送普通短信
////		result = sendTextSms("15951977097", "您的验证码为：3123，请勿向任何人提供短信验证码");
//
//		//发送模版短信
////		result = sendTemplateSms("15105145566", "JSM40973-0001", "@1@=刘先生,@2@=392218");
//
//		//获取短信状态报告
////		result = queryReport();
//
//		//获取上行短信
////		result = queryMo();
//
//		System.out.println(result);
//
//		XMLUtils xml = new XMLUtils(IOUtils.toInputStream(result));
//		List<Object> l = xml.getElements("sms/mt/status");
//		Element e = (Element)l.get(0);
//		String status = e.getText();
//
//		System.out.println(status);
//	}

//}
